package com.niiwoo.activity.stage.service.channel;

import com.niiwoo.activity.stage.dto.request.channel.UserDrainageChannelLinkQueryReqDTO;
import com.niiwoo.activity.stage.dto.request.channel.UserDrainageChannelReqDTO;
import com.niiwoo.activity.stage.dto.request.channel.UserDrainageQueryReqDTO;
import com.niiwoo.activity.stage.dto.response.channel.UserDrainageChannelLinkQueryRespDTO;
import com.niiwoo.activity.stage.dto.response.channel.UserDrainageQueryRespDTO;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

import java.util.List;
import java.util.Map;

public interface UserDrainageDubboService {

    PageResponseDTO<UserDrainageQueryRespDTO> getPage(UserDrainageQueryReqDTO reqDTO);

    List<Map<String , Object>> exportExcelUserDrainge(UserDrainageQueryReqDTO reqDTO);

    /**
     * 根据渠道编号列表,获取渠道名称以及渠道对应的投资推广链接
     * @param dto
     * @return
     */
    List<UserDrainageChannelLinkQueryRespDTO> selectListByChannelCodes(UserDrainageChannelLinkQueryReqDTO dto);

    default List<UserDrainageChannelLinkQueryRespDTO> selectByChannelCodes(UserDrainageChannelReqDTO reqDTO){
        throw new UnsupportedOperationException("unimplemented");
    }

    /**
     * 根据用户ID和渠道CODE判断是否存在记录
     *
     * @param userId
     * @param channelCode
     * @return
     */
    boolean isExistRecordByUserIdAndChannelCode(String userId,String channelCode);
 }
